import 'package:getx_demo/common/utils/utils.dart';
import 'package:getx_demo/common/widgets/widgets.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'index.dart';

class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage>
    with AutomaticKeepAliveClientMixin {
  @override
  bool get wantKeepAlive => true;

  @override
  Widget build(BuildContext context) {
    super.build(context);
    return const _AliveViewGetX();
  }
}

class _AliveViewGetX extends GetView<HomeController> {
  const _AliveViewGetX({Key? key}) : super(key: key);

  TabBar _currentTabBar() {
    return TabBar(
      tabs: controller.state.tabs,
      isScrollable: true,
      labelColor: '#0E67E7'.toColor(),
      unselectedLabelColor: Colors.black,
      indicatorWeight: 3,
      indicatorPadding:
          const EdgeInsets.only(top: 37, left: 7, right: 7, bottom: 9),
      indicator: BoxDecoration(
        //设置四周圆角 角度
        borderRadius: const BorderRadius.all(Radius.circular(1.5)),
        color: '#0E67E7'.toColor(),
      ),
      indicatorColor: '#0E67E7'.toColor(),
      indicatorSize: TabBarIndicatorSize.label,
      onTap: (value) {
        debugPrint('点击了$value');
        controller.changeSelectedIdx(value);
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return GetBuilder<HomeController>(
      init: HomeController(),
      id: 'home',
      builder: (_) {
        return DefaultTabController(
          length: controller.state.tabs.length,
          child: Scaffold(
            appBar: CommonAppBar(
              title: const Text(
                '鄂尔多斯风险感知平台',
                style: TextStyle(color: Colors.white),
              ),
              isBackLeading: false,
            ),
            body: SafeArea(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  _currentTabBar(),
                  Expanded(
                    child: TabBarView(
                      children: containers(),
                    ),
                  ),
                ],
              ),
            ),
          ),
        );
      },
    );
  }

  List<Widget> containers() {
    List<Widget> datas = [];
    for (var i = 0; i < controller.state.tabs.length; i++) {
      datas.add(_setupView(i));
    }
    return datas;
  }

  Widget _setupView(int idx) {
    // debugPrint('进入了cell加载');
    return Column(
      children: [
        Expanded(
          child: Container(
            color: '#F5F5F5'.toColor(),
            child: SmartRefresher(
              enablePullUp: true,
              enablePullDown: true,
              controller: controller.refreshConntrollerAt(idx),
              onRefresh: controller.onRefreshData,
              onLoading: controller.onLoadingData,
              child: ListView.builder(
                // itemCount: controller.currentDataSource.length,
                itemCount: 5,
                itemBuilder: (BuildContext context, int index) {
                  // return _buildListCell(context, index);
                  return Center(
                    child: Text('$index --> cell'),
                  );
                },
              ),
              // isLoading
              //     ? ListView.builder(
              //         itemCount: 10,
              //         itemBuilder: (BuildContext context, int index) {
              //           return buildMovieShimmer();
              //         })
              //     : _currentVm(tag).dataSource.isEmpty
              //         ? const ListNoDataView()
              //         : ListView.builder(
              //             itemCount: _currentVm(selectIndex).dataSource.length,
              //             itemBuilder: (BuildContext context, int index) {
              //               return _buildListCell(context, index);
              //             },
              //           ),
            ),
          ),
        ),
        // isDelete ? _buildDeleteToolBar() : Container(),
      ],
    );
  }
}


// class HomePage extends GetView<HomeController> {
//   const HomePage({super.key});

//   TabBar _currentTabBar() {
//     return TabBar(
//       tabs: controller.state.tabs,
//       isScrollable: true,
//       labelColor: '#0E67E7'.toColor(),
//       unselectedLabelColor: Colors.black,
//       indicatorWeight: 3,
//       indicatorPadding:
//           const EdgeInsets.only(top: 37, left: 7, right: 7, bottom: 9),
//       indicator: BoxDecoration(
//         //设置四周圆角 角度
//         borderRadius: const BorderRadius.all(Radius.circular(1.5)),
//         color: '#0E67E7'.toColor(),
//       ),
//       indicatorColor: '#0E67E7'.toColor(),
//       indicatorSize: TabBarIndicatorSize.label,
//       onTap: (value) {
//         debugPrint('点击了$value');
//         controller.changeSelectedIdx(value);
//       },
//     );
//   }

//   @override
//   Widget build(BuildContext context) {
//     return GetBuilder<HomeController>(
//       init: HomeController(),
//       id: 'home',
//       builder: (_) {
//         return DefaultTabController(
//           length: controller.state.tabs.length,
//           child: Scaffold(
//             appBar: CommonAppBar(
//               title: const Text(
//                 '鄂尔多斯风险感知平台',
//                 style: TextStyle(color: Colors.white),
//               ),
//               isBackLeading: false,
//             ),
//             body: SafeArea(
//               child: Column(
//                 crossAxisAlignment: CrossAxisAlignment.start,
//                 children: [
//                   _currentTabBar(),
//                   Expanded(
//                     child: TabBarView(
//                       children: containers(),
//                     ),
//                   ),
//                 ],
//               ),
//             ),
//           ),
//         );
//       },
//     );
//   }

//   List<Widget> containers() {
//     List<Widget> datas = [];
//     for (var i = 0; i < controller.state.tabs.length; i++) {
//       datas.add(_setupView(i));
//     }
//     return datas;
//   }

//   Widget _setupView(int idx) {
//     // debugPrint('进入了cell加载');
//     return Column(
//       children: [
//         Expanded(
//             child: Container(
//           color: '#F5F5F5'.toColor(),
//           child: SmartRefresher(
//             enablePullUp: false,
//             enablePullDown: true,
//             controller: controller.refreshConntrollerAt(idx),
//             // onRefresh: _currentVm(tag).onRefresh,
//             // onLoading: _currentVm(tag).onLoad,
//             child: ListView.builder(
//               itemCount: controller.currentDataSource.length,
//               itemBuilder: (BuildContext context, int index) {
//                 // return _buildListCell(context, index);
//                 return Center(
//                   child: Text('$index --> cell'),
//                 );
//               },
//             ),
//             // isLoading
//             //     ? ListView.builder(
//             //         itemCount: 10,
//             //         itemBuilder: (BuildContext context, int index) {
//             //           return buildMovieShimmer();
//             //         })
//             //     : _currentVm(tag).dataSource.isEmpty
//             //         ? const ListNoDataView()
//             //         : ListView.builder(
//             //             itemCount: _currentVm(selectIndex).dataSource.length,
//             //             itemBuilder: (BuildContext context, int index) {
//             //               return _buildListCell(context, index);
//             //             },
//             //           ),
//           ),
//         )),
//         // isDelete ? _buildDeleteToolBar() : Container(),
//       ],
//     );
//   }
// }
